import java.util.Locale;

/**
 * \* Created with IntelliJ IDEA.
 * \* User: Administrator
 * \* Date: 2021/11/19
 * \* Time: 18:38
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */
public class TestDemo {

    public static void main(String[] args) {
        Integer a=123;
        Integer b=123;
        System.out.println(a==b);

        Integer a1=129;
        Integer b1=129;
        System.out.println(a1==b1);
        //Interger的取值范围
    }

    //装箱、装包：把简单类型变为包装类型

    //拆箱、拆包：
    public static void main22(String[] args) {
        //装包
        Integer a=123;
        //拆箱、拆包——隐式的
        int b=a;
        System.out.println(a+" "+b);

        System.out.println("=======");
        //显式装包
        Integer a2=Integer.valueOf(123);
        Integer a3=new Integer(123);

        //显式拆包
        int b2=a2.intValue();
        double d=a2.doubleValue();
    }
    public static void main21(String[] args) {
        String str="123";
        int ret=Integer.valueOf(str);
        //包装类的好处：
        //String不是包装类，就是一个普通类

        System.out.println(ret+1);
    }
    public static void main17(String[] args) {
        int []arr={1,2,3,4};
        System.out.println(arr.length);
        for(int i=0;i<arr.length;i++){
            System.out.print(i);
        }
    }

    public static void main111(String[] args) {
        StringBuffer sb = new StringBuffer("helloworld");
        System.out.println(sb.delete(5,10));
    }
    public static void main16(String[] args) {
        StringBuffer sb = new StringBuffer("helloworld");
        System.out.println(sb.delete(5, 10).insert(0, "你好"));
    }
    public static void main14(String[] args) {
        StringBuffer sb = new StringBuffer("helloworld");
        System.out.println(sb.delete(5, 10));
    }
    public static void main13(String[] args) {
        StringBuffer sb = new StringBuffer("helloworld");
        System.out.println(sb.reverse());
    }
    public static void main12(String[] args) {
        StringBuffer sb = new StringBuffer();
        sb.append("Hello").append("World");
        fun(sb);
        System.out.println(sb);
    }
    public static void fun(StringBuffer temp) {
        //通过.append修改字符串
        temp.append("\n").append("........");
    }

    public static void main10(String[] args) {
        String str="Hello World ...";
        System.out.println("原始字符串内容【"+str+"】"+",长度："+str.length());//求字符串长度
        //先把字符串str前后空格去掉，再求长度
        System.out.println("原始字符串内容【"+str.trim()+"】"+",长度："+str.trim().length());
        //判断字符串”“是否为空，true
        System.out.println("".isEmpty());
        System.out.println(str.isEmpty());
        //字符串字符全变大写
        System.out.println("Hello World".toUpperCase());
        //字符串字符全变小写
        System.out.println("Hello World".toLowerCase());
        //字符串连接
        System.out.println(str.concat("java"));
    }
    public static void main9(String[] args) {
        String str="Hellojava!!!";
        System.out.println(str.substring(5));//截取从指定位置到末尾的字串
        System.out.println(str.substring(0,4));//截取从指定位置到结束位置的字串
    }
    public static void main8(String[] args) {
        String str="hello world welcome";
        String data[]=str.split(" ");//按照空格拆分
        for(int i=0;i<data.length;i++){
            System.out.println(data[i]);
        }
        System.out.println("========================");
        String data1[]=str.split(" ",2);//指定位置按照空格拆分
        for(int i=0;i<data1.length;i++){
            System.out.println(data1[i]);
        }
    }
    public static void main7(String[] args) {
        String str="helloworld";
        //所有字串出现的位置都替换
        System.out.println(str.replaceAll("o","@@"));
        //替换第一次出现字符字串
        System.out.println(str.replaceFirst("l","***"));
    }

    public static void main6(String[] args) {
        String str="**hello$$world##";//字符串
        if(str.contains("hello"));//查找hello是否存在
        System.out.println("内存存在");
        if(str.indexOf("r")!=-1){//查找hello是否存在
            System.out.println("内容存在，字符串位置："+str.indexOf("r"));
        }
        if(str.indexOf("o",6)!=-1){//由指定位置开始查找
            System.out.println("内容存在，字符串位置："+str.indexOf("o",6));
        }
        if(str.lastIndexOf("w",12)!=-1){//由指定位置从后向前开始查找
            System.out.println("内容存在，字符串位置："+str.lastIndexOf("w",12));
        }
        System.out.println(str.startsWith("**"));//判断字符串的起始内容
        //判断字符串str中，索引位置为7的位置是否以$$开始
        System.out.println(str.startsWith("$$",7));
        System.out.println(str.endsWith("##"));//判断字符串是否以”##“结束
    }

    public static void main5(String[] args) {
        String str = "helloworld" ;
// 将String 转为 byte[]
        byte[] data = str.getBytes() ;
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i]+" ");
        }
// 将byte[] 转为String
        System.out.println(new String(data));
 //将部分byte[]变为String
        System.out.println(new String(data,4,3));
    }

    public static void main4(String[] args) {
        String str = "helloworld" ;
// 将字符串变为字符数组
        char[] data = str.toCharArray() ;
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i]+" ");
        }
// 字符数组转为字符串
        System.out.println(new String(data)); // 全部转换
        System.out.println(new String(data,5,5)); // 部分转换
    }

    public static void main3(String[] args) {
        String str="Chinese";//直接赋值
        System.out.println(str.charAt(1));//取出字符串中第二个字符，也就是下标为1的字符
    }

    public static void main2(String[] args) {
        String str="Hello";//直接复制
        str+="World";//字符串连接
        str=str+"!!!";//字符串链接
        System.out.println(str);
    }









    public static void main1(String[] args) {
//        String str1="bingo";//直接赋值创建对象str1
//
//        String str2=new String("bingo1");//利用构造法创建并初始化对象str2
//
//        String str3="bin"+"go";  //利用串联方式生成新的字符串str3


        String str1 = "Hello";//直接赋值创建对象str1
        String str2 = "Hello";//直接赋值创建对象str2
        String str3 = new String("Hello");//利用构造法创建并初始化对象str3
        String str4 = new String("Hello").intern();//利用构造法创建并初始化对象str4
        System.out.println(str1 == str2);//ture
        System.out.println(str1 == str3);//false
        System.out.println(str1.equals(str2));//ture
        System.out.println(str1.equals(str3));//ture
    }
}
